<?php
include("./config/config.inc.php");

echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /></head><body>";
/*连接数据库*/
$cnn = mysql_connect($mysql_server, $mysql_user, $mysql_passwd);
if(!$cnn){
	echo "连接数据失败:" . mysql_error();
	exit();
}
/*选择数据库*/
if( !mysql_select_db($mysql_database, $cnn) ){
	if( !mysql_query("create database " . $mysql_database, $cnn) ){
		echo "创建数据库失败:" . mysql_error($cnn);
		exit();
	}
	mysql_select_db($mysql_database, $cnn);
}
/*创建防毒墙用户表*/
$sqls = array(
//	"防毒墙用户表" =>"create table if not exists t_user_vm(id int primary key not null auto_increment"
//		. ", company varchar(128)" /*用户单位*/
//		. ", email varchar(128)" /*邮箱*/
//		. ", phone varchar(16)" /*联系电话*/
//		. ", lastdt date" /*到期日期*/
//		. ", sem_s int(4) default 0" /*发送邮件成功次数*/
//		. ", sem_f int(4) default 0" /*发送邮件失败次数*/
//		. ", sem_n int(4) default 0" /*发送邮件队列最大编号*/
//		. ", sms_s int(4) default 0" /*发送短信成功次数*/
//		. ", sms_f int(4) default 0" /*发送短信失败次数*/
//		. ", sms_n int(4) default 0" /*发送短信队列最大编号*/
//		. ", mms_s int(4) default 0" /*发送彩信成功次数*/
//		. ", mms_f int(4) default 0" /*发送彩信失败次数*/
//		. ", mms_n int(4) default 0" /*发送彩信队列最大编号*/
//		. ")"
//	, "发送邮件队列表" => "create table if not exists t_sendmail_queue(id int primary key not null auto_increment"
//		. ", sm_subject varchar(1024) default ''" /* 邮件标题 */
//		. ", sm_to text" /* 群发邮件表名 */
//		. ", sm_body longtext" /* 发送邮件内容BASE64编码 */
//		. ", success int default 0" /* 是否发送完成 */
//		. ", count_s int default 0" /* 发送成功数 */
//		. ", count_f int default 0" /* 发送失败 */
//		. ", first_t datetime"
//		. ", last_t datetime"
//		. ")"
//	, "发送日志" => "create table if not exists t_send_log(s_type varchar(64) not null"
//		. ", s_id int(4) not null" /* 发送日志ID */
//		. ", ntype int default 0" /*发送类型 0 邮件, 1 短信, 2 彩信*/
//		. ", count_all int default 0" /* 需要发送的总数目 */
//		. ", count_send int default 0" /* 发送的数目 */
//		. ", log_error varchar(1024)" /* 发送失败日志 */
//		. ", primary key(s_type, s_id)" /*主健*/
//		. ")"
//	, "QQ用户列表" => "create table if not exists t_user_qq(id int primary key not null auto_increment"
//		. ", qq varchar(32)" /*QQ号码*/
//		. ", name varchar(32)" /*QQ称*/
//		. ", gwlogin varchar(32)" /*绿网账号*/
//		. ", getdt date" /*生成时间*/
//		. ", gwbuy int(4) default 0" /*是否购买服务*/
//		. ", sem_s int(4) default 0" /*发送邮件成功次数*/
//		. ", sem_f int(4) default 0" /*发送邮件失败次数*/
//		. ", sem_n int(4) default 0" /*发送邮件队列最大编号*/
//		. ", sms_s int(4) default 0" /*发送短信成功次数*/
//		. ", sms_f int(4) default 0" /*发送短信失败次数*/
//		. ", sms_n int(4) default 0" /*发送短信队列最大编号*/
//		. ", mms_s int(4) default 0" /*发送彩信成功次数*/
//		. ", mms_f int(4) default 0" /*发送彩信失败次数*/
//		. ", mms_n int(4) default 0" /*发送彩信队列最大编号*/
//		. ")"		
	/*,*/ "用户列表" => "create table if not exists t_user(id int primary key not null auto_increment"
		. ", name varchar(64)" /* 昵称 */
		. ", license varchar(64)" /* 序列号/账号 */
		. ", email varchar(128)" /* 邮箱 */
		. ", phone varchar(16)" /* 手机号 */
		. ", qq varchar(64)" /* QQ号 */
		. ", msn varchar(64)" /* MSN */
		. ", company varchar(128)" /* 公司 */
		. ", active int(4) default 0" /* 是否在使用 */
		. ", isused int(4) default 1" /* 是否在使用 */
		. ", fistdt datetime" /* 添加时间 */
		. ", lastdt datetime" /* 到期时间 */
		. ", promptdt datetime" /* 最后一次提醒时间 */
		. ", sem_s int(4) default 0" /* 发送邮件成功次数 */
		. ", sem_f int(4) default 0" /* 发送邮件失败次数 */
		. ", sem_n int(4) default 0" /* 发送邮件队列当前编号 */
		. ", sms_s int(4) default 0" /* 发送短信成功次数 */
		. ", sms_f int(4) default 0" /* 发送短信失败次数 */
		. ", sms_n int(4) default 0" /* 发送短信队列当前编号 */
		. ", mms_s int(4) default 0" /* 发送彩信成功次数 */
		. ", mms_f int(4) default 0" /* 发送彩信失败次数 */
		. ", mms_n int(4) default 0" /* 发送彩信队列当前编号 */
		. ")"
	, "防毒墙用户表2" => "create table if not exists t_user_vm2(id int primary key not null auto_increment"
		. ", name varchar(64)" /* 昵称 */
		. ", license varchar(64)" /* 序列号/账号 */
		. ", email varchar(128)" /* 邮箱 */
		. ", phone varchar(16)" /* 手机号 */
		. ", qq varchar(64)" /* QQ号 */
		. ", msn varchar(64)" /* MSN */
		. ", company varchar(128)" /* 公司 */
		. ", active int(4) default 0" /* 是否在使用 */
		. ", isused int(4) default 1" /* 是否在使用 */
		. ", fistdt datetime" /* 添加时间 */
		. ", lastdt datetime" /* 到期时间 */
		. ", promptdt datetime" /* 最后一次提醒时间 */
		. ", sem_s int(4) default 0" /* 发送邮件成功次数 */
		. ", sem_f int(4) default 0" /* 发送邮件失败次数 */
		. ", sem_n int(4) default 0" /* 发送邮件队列当前编号 */
		. ", sms_s int(4) default 0" /* 发送短信成功次数 */
		. ", sms_f int(4) default 0" /* 发送短信失败次数 */
		. ", sms_n int(4) default 0" /* 发送短信队列当前编号 */
		. ", mms_s int(4) default 0" /* 发送彩信成功次数 */
		. ", mms_f int(4) default 0" /* 发送彩信失败次数 */
		. ", mms_n int(4) default 0" /* 发送彩信队列当前编号 */
		. ")"
	, "QQ用户表2" => "create table if not exists t_user_qq2(id int primary key not null auto_increment"
		. ", name varchar(64)" /* 昵称 */
		. ", license varchar(64)" /* 序列号/账号 */
		. ", email varchar(128)" /* 邮箱 */
		. ", phone varchar(16)" /* 手机号 */
		. ", qq varchar(64)" /* QQ号 */
		. ", msn varchar(64)" /* MSN */
		. ", company varchar(128)" /* 公司 */
		. ", active int(4) default 0" /* 是否在使用 */
		. ", isused int(4) default 1" /* 是否在使用 */
		. ", fistdt datetime" /* 添加时间 */
		. ", lastdt datetime" /* 到期时间 */
		. ", promptdt datetime" /* 最后一次提醒时间 */
		. ", sem_s int(4) default 0" /* 发送邮件成功次数 */
		. ", sem_f int(4) default 0" /* 发送邮件失败次数 */
		. ", sem_n int(4) default 0" /* 发送邮件队列当前编号 */
		. ", sms_s int(4) default 0" /* 发送短信成功次数 */
		. ", sms_f int(4) default 0" /* 发送短信失败次数 */
		. ", sms_n int(4) default 0" /* 发送短信队列当前编号 */
		. ", mms_s int(4) default 0" /* 发送彩信成功次数 */
		. ", mms_f int(4) default 0" /* 发送彩信失败次数 */
		. ", mms_n int(4) default 0" /* 发送彩信队列当前编号 */
		. ")"
	, "QQ测试用户表2" => "create table if not exists t_user_qq2_test(id int primary key not null auto_increment"
		. ", name varchar(64)" /* 昵称 */
		. ", license varchar(64)" /* 序列号/账号 */
		. ", email varchar(128)" /* 邮箱 */
		. ", phone varchar(16)" /* 手机号 */
		. ", qq varchar(64)" /* QQ号 */
		. ", msn varchar(64)" /* MSN */
		. ", company varchar(128)" /* 公司 */
		. ", active int(4) default 0" /* 是否在使用 */
		. ", isused int(4) default 1" /* 是否在使用 */
		. ", fistdt datetime" /* 添加时间 */
		. ", lastdt datetime" /* 到期时间 */
		. ", promptdt datetime" /* 最后一次提醒时间 */
		. ", sem_s int(4) default 0" /* 发送邮件成功次数 */
		. ", sem_f int(4) default 0" /* 发送邮件失败次数 */
		. ", sem_n int(4) default 0" /* 发送邮件队列当前编号 */
		. ", sms_s int(4) default 0" /* 发送短信成功次数 */
		. ", sms_f int(4) default 0" /* 发送短信失败次数 */
		. ", sms_n int(4) default 0" /* 发送短信队列当前编号 */
		. ", mms_s int(4) default 0" /* 发送彩信成功次数 */
		. ", mms_f int(4) default 0" /* 发送彩信失败次数 */
		. ", mms_n int(4) default 0" /* 发送彩信队列当前编号 */
		. ")"
	, "用户表汇总" => "create table if not exists t_list_user(id int primary key not null auto_increment"
		. ", tname varchar(32) not null UNIQUE"
		. ", sname varchar(64) not null" /* 外部显示名 */
		. ", url varchar(128) not null" /* 操作的URL */
		. ", dbcnn varchar(1024)" /* 外部数据数据库连接信息 key=value,key2=value2,... */
		. ", extsql varchar(2048)" /* 外部获取数据的sql语名 */
		. ")"
	, "插入防毒墙表信息" => "insert into t_list_user(tname, sname, url) "
		. " values('t_user_vm2', '防毒墙用户', 'user-vm.php') ON DUPLICATE KEY UPDATE dbcnn='',extsql=''"
	, "插入QQ表信息" => "insert into t_list_user(tname, sname, url)"
		. " values('t_user_qq2', 'QQ用户', 'user-qq.php')  ON DUPLICATE KEY UPDATE dbcnn='',extsql=''"
	, "插入QQ测试表信息" => "insert into t_list_user(tname, sname, url)"
		. " values('t_user_qq2_test', 'QQ测试用户', 'user-qq-test.php')  ON DUPLICATE KEY UPDATE dbcnn='',extsql=''"
	, "邮件群发" => "create table if not exists t_sendemail_group(id int primary key not null auto_increment"
		. ", m_no int(4) not null" /* 邮件编号 */
		. ", sm_to varchar(32) not null" /* 用户表名称 */
		. ", sm_subject text" /* 邮件名称 */
		. ", sm_run int(4) default 0" /* 是否正在发送队列中 */
		. ", sm_flag int(4) default 0 UNIQUE" /* 邮件的标志位<0, >32都是无效的编号 */
		. ", sm_interval int(4) default 1" /* 时间间隔 */
		. ", sm_max int(4) default 1000" /* 每次最大发送量 */
		. ", sm_success int(4) default 0" /* 发送成功数 */
		. ", sm_failure int(4) default 0" /* 发送失败数 */
		. ", sm_firstdt datetime" /* 第一次执行时间 */
		. ", sm_lastdt datetime" /* 最后一次执行时间 */
		. ", sm_body longtext" /* 邮件内容 */
		. ")"
	, "邮件到期提醒" => "create table if not exists t_sendemail_notify(sm_to varchar(32) not null primary key"
		. ", m_no int(4) not null" /* 邮件编号 */
		. ", sm_subject varchar(128)" /* 邮件标题 */
		. ", sm_run int(4) default 0" /* 是否在发送队列中 */
		. ", sm_lastday int default 30" /* 邮件发送队列 */
		. ", sm_cycle int default 7" /* 周期 */
		. ", sm_success int(4) default 0" /* 发送成功数 */
		. ", sm_failure int(4) default 0" /* 发送失败数 */
		. ", sm_firstdt datetime" /* 第一次执行时间 */
		. ", sm_lastdt datetime" /* 最后一次执行时间 */
		. ", sm_body longtext" /* 发送内容 */
		. ")"
	, "邮箱用户列表" => "create table if not exists t_email_list(id int primary key not null auto_increment"
		. ", addr varchar(128) not null unique"
		. ", name varchar(64)" /* 发件人显示名称 */
		. ", smtp varchar(64)" /* 邮箱服务器 */
		. ", user varchar(128)" /* 邮箱服务器账号 */
		. ", pwd varchar(64)" /* 邮箱服务器密码 */
		. ", port int(4) default 25" /* 邮箱服务器端口 */
		. ")"
	, "邮件发送失败列表" => "create table if not exists t_email_failed(sm_to varchar(32) not null primary key"
		. ", sm_flag int(4) default 0" /* 失败标志, 0 邮件不存在, 1 邮件发送阻止 */
		. ")"
	, "用户阅读统计" => "create table if not exists t_s_read(email varchar(128) not null"
		. ", eid int, cnt int default 1"
		. ", primary key(email, eid)"
		. ")"
);


foreach($sqls as $title => $sql){
	if( !mysql_query($sql, $cnn) ){
		echo "创建{$title}失败:" . mysql_error($cnn);
		exit();
	}
	echo "创建{$title}成功<br>";
}

/*安装成功*/
echo "<font color=green>安装成功</font>";
mysql_close($cnn);

?>